package com.shujia.scala

object Demo2 {
  def main(args: Array[String]): Unit = {


    /**
      * 语法基础
      *
      */

    /**
      *
      * 通过var 和val  定义变量  变量类型自动推断处理  根据= 右边推断出来
      *
      * var  变量
      * val   不可变
      *
      *
      * scala String  使用的java中的字符串
      *
      *
      * 如果已经确定变量不会在改变的情况下使用val
      *
      */
    var str = "shujia"

    str = "java"

    println(str.getClass)

    //不可变   i不能再指向其他的对象
    val i = 10

    //i = 1


    var str1: String = "scala"

    //多态   父类引用指向子类对象
    var str2: Object = "scala"


    val i2 = 10

    println(i2.getClass)


    /**
      *
      *
      * scala  和java可以相互兼容
      *
      */

    //在scala使用java类
    val student = new Demo3Student("001", "张三", 23)

    println(student)


    val b = true

    val age = 23

    if (age > 18) {
      println("成年")
    } else if (age < 18) {
      println("未成年")
    }


    val list = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

    //增强for循环
    for (elem <- list) {
      println(elem)

    }


    val stu: Any = new Demo3Student("002", "王五", 22)

    println(stu)


    /**
      * 类型转换
      *
      */
    val str3 = "100"

    println(Integer.parseInt(str3))

    println(str3.toInt)

    val i3 = 100
    println(i3.toString)

    // 类型转换异常
    //println("a".toInt)



  }
}
